package cn.xxd.common;

public class StringUtils {
    /**
     * 去除字符串中的空格
     *
     * @param str
     * @return comment by ddb
     */
    public static String trim(String str) {
        return isNullOrBlank(str) ? str : str.trim();
    }

    /**
     * 如果string为null则返回conv，否则返回string本身
     *
     * @param string
     * @param conv
     * @return comment by ddb
     */
    public static String convNull2What(String string, String conv) {
        if (string == null) {
            return conv;
        }
        return string;
    }

    /**
     * 如果第一个参数为null，则返回第二个参数，否则返回第一个参数的toString();
     *
     * @param obj
     * @param conv
     * @return comment by ddb
     */
    public static String convNull2String(Object obj, String conv) {
        if (obj == null) {
            return conv;
        }
        return obj.toString();
    }

    /**
     * value为原值，key为value字符串中需要替换的部分，replaceValue是替换key的新字符串
     * 例如：
     * String str = "books";
     * String rStr=StringUtil.replace(str , "oo", "ee");
     * System.out.println(rStr);
     * 输出结果为：beeks
     *
     * @param value
     * @param key
     * @param replaceValue
     * @return comment by ddb
     */
    public static String replace(String value, String key, String replaceValue) {
        if (value != null && key != null && replaceValue != null) {
            int pos = value.indexOf(key);

            if (pos >= 0) {
                int length = value.length();
                int start = pos;
                int end = pos + key.length();

                if (length == key.length()) {
                    value = replaceValue;
                } else if (end == length) {
                    value = value.substring(0, start) + replaceValue;
                } else {
                    value = value.substring(0, start) + replaceValue
                            + replace(value.substring(end), key, replaceValue);
                }
            }
        }
        return value;
    }

    /**
     * 如果value字符串为"",则返回true，否则返回false
     *
     * @param value
     * @return comment by ddb
     */
    public static boolean isBlank(String value) {
        boolean ret = false;
        if (value != null && value.equals("")) {
            ret = true;
        }
        return ret;
    }

    /**
     * 如果value字符串为null，则返回true，否则返回false
     *
     * @param value
     * @return comment by ddb
     */
    public static boolean isNull(String value) {
        return value == null ? true : false;
    }

    /**
     * 如果字符串value为null或者为""则返回true，否则返回false
     *
     * @param value
     * @return comment by ddb
     */
    public static boolean isNullOrBlank(String value) {
        return isNull(value) || isBlank(value);
    }


    public static double fieldValue(double fieldValue) {

        return fieldValue;

    }

    public static float fieldValue(float fieldValue) {

        return fieldValue;

    }

    public static int fieldValue(int fieldValue) {

        return fieldValue;

    }

    public static long fieldValue(long fieldValue) {

        return fieldValue;

    }

    /**
     * 把string类型的数组转换成stringBuffer形式的字符串
     * 例如：string数组{aa,bb,cc}
     * 转换后为[aa,bb,cc,]
     *
     * @param arr
     * @return comment by ddb
     */
    public static String getArrayElementString(String[] arr) {
        StringBuffer ret = new StringBuffer("");
        if (arr == null) {
            return null;
        }

        ret.append("[");
        for (int i = 0; i < arr.length; i++) {
            ret.append(arr[i] + ",");
        }
        ret.append("]");

        return ret.toString();

    }


}
